A home network is used to connect widely differing types of appliance to one another. Appliances such as these may stem from the field of entertainment electronics, such as a television, a video recorder, a DVD player, a satellite receiver, a CD player, an MD player, an amplifier, a radio, a camcorder etc. A personal computer, which may likewise be regarded as an entertainment electronic appliance these days, is also mentioned in this context.
Industry have developed appropriate communication systems for networking of appliances from the entertainment electronics field. This relates primarily to cable-based networking of the appliances with the aid of the so-called IEEE 1394 bus system, which makes it possible to interchange data at a very high data rate between the individual network stations. The IEEE 1394 interfaces which have been widely used until now generally support the specified data transmission rates S100, S200 and S400. In this case, S100 means a data transmission rate of about 100 Mbit/s. S200, in a corresponding manner, means about 200 Mbit/s with S400 then being about 400 Mbit/s. High data rates such as these occur in particular in the case of entertainment electronic appliances. This is due to the fact that the typical application for data interchange between entertainment electronic appliances is for a title to be played back in the case of a video source or audio source, and for either a video film or a piece of music, and the associated data stream, to be transmitted to a further entertainment electronic appliance, or to two or more further entertainment electronic appliances. For this application, a data link is set up between the relevant appliances which are interchanging data with one another. Data packets are then transmitted regularly via this data link. This form of data transmission is referred to in IEEE Standard 1394 as isochronous data transmission, in which data packets are transmitted regularly, at specific intervals, from the data source to the data sink or to data sinks.
Furthermore, asynchronous data transmission also takes place via the IEEE 1394 bus. In this case, data packets are effectively transmitted as required. The number of such asynchronous data packets which are sent via the bus depends on the amount of data traffic. Asynchronous data transmission is used predominantly for identification and control of an appliance in the network by some other appliance in the network.
IEEE Standard 1394 specifies only the lower layers of the ISO/OSI reference model for data communication. These are the physical layer, the data link layer, and a so-called transaction layer which comprises parts of the network layer and of the transport layer. The transmission protocol to be used for transmission of isochronous and asynchronous data packets via the bus using the physical layer is specified in detail. The transmission protocols in each case specify specific dead times which must be complied with on the bus between the data packets to be transmitted for both isochronous and asynchronous data traffic. These are waiting times during which no network subscriber station may access the bus. Waiting times such as these are also specified, for example, before the start of a data transmission cycle, as will be explained in more detail later.
IEEE Standard 1394 contains only a small number of restrictions with regard to the topology of the IEEE 1394 network. The permissible bus topology corresponds to a tree structure. Depending on the application, the tree structure may, however, differ, and the network may be designed in a highly variable manner in this context. In order to take account of these conditions, IEEE Standard 1394 provides an internal variable, whose value is included in the calculation of some of the important waiting times in IEEE Standard 1394 mentioned above. This internal variable is referred to as a gap count in IEEE Standard 1394. The waiting times can be matched to the respective specific bus topology by changing the gap count value, in order to avoid wasting bandwidth on the IEEE 1394 bus as a result of unnecessarily long waiting times. The internal variable for the gap count value is in this case administered in the physical layer chip of each IEEE 1394 node. If all of the network stations on the local IEEE 1394 bus are intended to be able to access the bus correctly and without conflict, the gap count value must be set identically in all the 1394 interfaces. Furthermore, one instance in the network, the so-called bus manager, or the isochronous resource manager if there is no bus manager, carries out a monitoring function.
IEEE Standard 1394, which was first issued officially in the IEEE 1394-1995 version, has now been revised, with subsequent versions being published. These include the IEEE Version 1394a and, very recently, IEEE Version 1394b, as well. While IEEE Version 1394a specifies improvements with regard to speeding up the arbitration phase as well as to an improved bus resetting behavior and an improved interface for the connection of the physical layer and of the data link layer, IEEE Version 1394b relates largely to a technological extension to the data transmission towards higher data transfer rates up to 1.6 Gbit/s, and to a wide range of transmission media that can be used, such as glass fiber, plastic fiber, copper UTP and copper STP.
In certain circumstances (for example as a result of changes to the gap count value in a local node or as a result of the different bus resetting behavior of nodes which comply with IEEE 1394-1995 and IEEE 1394a), it is possible for inconsistent gap count values to occur on the local bus. IEEE Standard 1394a therefore provides for the bus manager or the isochronous resource manager to have the obligation to recheck the consistency of all the gap count values on the local bus after every bus resetting process. This Standard likewise stipulates that the bus manager or the isochronous resource manager must initiate a further bus resetting process if any inconsistent values are found. Inconsistent values occur when different values for the internal variable of the gap count are set in two network nodes. Even the IEEE 1394-1995 Standard provides for each IEEE 1394 node to have to set the gap count value when two successive bus resetting processes occur without any intermediate transmission of a so-called physical layer configuration packet (PHY configuration packet), in order to change the gap count value to the maximum value of 63. This functionality is specified for the physical layer module. The procedure specified in IEEE Standard 1394a should thus ensure that the gap count values are consistent with the value 63 in all of the network nodes after two successive bus resetting processes.